Table of Contents
[Bài này không phải do tui viết, tui chỉ copy lưu để dành xem lại từ https://techtalk.vn/toi-da-viet-phim-clgt-vn-nhu-the-nao.html Thanks tác giả viết khá chi tiết cách sử dụng chrome console debug] Sáng hôm kia tôi cũng vậy, bạn phải tự cứu lấy chính mình trước khi quá muộn. Tôi đã bỏ việc ngày hôm đó để bắt tay vào làm 1 side project vớ vẩn, ý tưởng lúc đầu chỉ muốn làm site coi phim X ( x là ẩn số – nhưng tôi thích cách nghĩ của anh em) Sau một lúc đắn đo thì http://phim.clgt.vn ra đời. Đọc là: ” phim-chấm-còn-lắm-gian-truân-chấm-Việt-Nam”
Tại sao làm trang phim
Trước hết là phục vụ nhu cầu coi phim của bản thân, đúng không đã. Side project mà người viết ra không dùng là vứt. Ngoài ra tôi thấy các site phim hiện có đa số quá phức tạp, mà nhu cầu của tôi chỉ đơn giản. Bước đầu tiên khi làm side project, các lập trình viên thần thánh sẽ liệt kê các tính năng phải có, tôi cũng đéo khác.Liệt kê tính năng
- Site phải search được phim muốn xem
- Click phát xem luôn
- Không chôm direct link làm mất bandwidth site của anh em khác
- Không up phim lên host ( hỡi ôi tiền đâu mà trả )
- Site không quảng cáo kiếm tiền
- Không cần database để có thể chơi immutable deployment
Bắt tay vào làm
Đầu tiên là đi kiếm nguồn phim được host trên google drive. Ở Việt Nam làm web phim … số vốn ban đầu phải nói là cực rẻ, anh em chỉ việc kiếm 1 email có đuôi edu, sau đó đăng ký gói khuyến học của google để được account gdrive unlimit không tốn một xu nào. Hoặc lười anh em có thể mua trực tiếp gói https://gsuite.google.com với giá 10 đô nam trung 1 tháng (10 USD), thế là chúng ta đã có storage không giới hạn dung lượng, không giới hạn băng thông và trên hết có thể upload đủ thứ hay ho như phim lên đó. Tất nhiên phim.clgt.vn ko rảnh up phim, nên chúng ta sẽ đi mượn tạm của phimmoi.net 😉 Một trang web để thành nguồn phim phải đáp ứng dc 2 thao tác, tìm và xem.Tìm kiếm video
Thao tác tìm kiếm không thể đơn giản hơn, chỉ việc gọi request quaphimmoi.net/tim-kiem/SEARCH_QUERY/
thay SEAERCH_QUERY
bằng tên phim như kubo, sau đó ta duyệt qua html để trích ra những thành phần mong muốn bao gồm tên phim và quan trọng nhất, tính toán ra URL dẫn đến trang xem phim.
Lấy link video
Tất cả trang phim đều phải gởi link video xuống trình duyệt, không có ngoại lệ. Về lý thuyết nếu có thể coi dc video thì sẽ download dc, một số trang bị khoá DRM bản quyền, phim khi muốn playback cần có file license. Những phim này dù bạn có down về máy nhưng cũng không coi được Nói thì nói số trang có khóa DRM ở Việt Nam, đếm được trên đầu ngón tay, hãy để yên cho họ làm ăn, mục tiêu của chúng ta là các trang không bản quyền. Nhẽ tất nhiên phimmoi làm gì có bản quyền a hèm .. và 1 cơ số các trang phim khác cũng thế. Quay lại vấn đề chính, chúng ta đã lấy dc link đến trang xem phim, ví dụ link xem kubo:http://www.phimmoi.net/phim/kubo-va-cay-dan-shamisen-3616/xem-phim.html
view source ngó qua ngó lại 1 tí chúng ta đã tìm được link mà phimmoi gọi để lấy video như trong hình


episodeLoadedCallback
để process.
follow hàm này dẫn ta đến file watch-n3.js
, function episodeLoadedCallback như bên dưới.
1
2
3
4
5
6
|
//--Current EpisodeInfo Loaded Callback
episodeLoadedCallback=function(data){
watching.cancelSkipWaiting();
watching.handleData(data); // set break point ở đay
//removePlayerLoading();
}
|

Step into next function call
và chúng ta rơi vào file watching-v4
, file này bị min lại thành 1 dòng, đừng lo lắng vì browser có đủ đồ chơi, click vào nút pretty print
để bung lụa.

1
2
3
4
5
6
7
8
9
10
11
12
|
this[_0xba81[214]] = function(_0xfe74xa) {
this[_0xba81[215]]();
this[_0xba81[206]]();
var _0xfe74x54 = this[_0xba81[43]]();
if (typeof _0xfe74xa[_0xba81[216]] != _0xba81[33] && _0xfe74xa[_0xba81[216]] && _0xfe74xa[_0xba81[216]] != _0xfe74x54) {
console[_0xba81[49]](_0xba81[217] + _0xfe74x54 + _0xba81[218] + _0xfe74xa[_0xba81[216]]);
return false
}
;if (typeof _0xfe74xa != _0xba81[4]) {
console[_0xba81[69]](_0xba81[219]);
return false
}
|
_0xfe74xa
các anh em hãy add nó vào watch list để tiện bề theo dõi.
Tại đây công việc khá đơn giản chỉ việc step over và step into khi cần cho đến khi các bạn thấy dòng 18, aha đây rồi
GibberishAES
Như vậy là phimmoi dùng aes để mã hoá, mã hoá này là 2 chiều do đó cần key để decode lại, không đâu xa, ngay dòng 18 chúng ta thấy luôn key.
1
2
3
4
|
GibberishAES[_0xba81[12]](_0xfe74xa[_0xba81[3]][_0xfe74xb][_0xba81[6]], _0xba81[10] + _0xfe74xa[_0xba81[11]])
// key cần tìm là đoạn nối chuổi
// _0xba81[10] + _0xfe74xa[_0xba81[11]]
|

_0xba81[10]
là PhimMoi.Net@ còn _0xfe74xa[_0xba81[11]]
với giá trị 104695 chính là Id của tập phim hay nói cách khác là episodeId. Anh em xem hình coi đúng chưa đã 😀
Như vậy chúng ta đã có trong tay password để giải mã, công đoạn tìm link video đến đây đã thành công.
